<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    const str = '85872637471533203552943982';

    str.indexOf('8');

    // 1、统计出现最多的数字和次数
    let cache = {};
    for (const k of str) {
      cache[k] = cache[k] ? cache[k] + 1 : 1;
    }
    // console.log(cache);

    let maxObj = {
      name: '',
      count: 0,
    }

    for (const key in cache) {
      if (maxObj.count < cache[key]) {
        maxObj.name = key;
        maxObj.count = cache[key]
      }
    }

    // console.log(maxObj);

    // 去重 str
    // filter
    // str = '85872637471533203552943982';
    const resultArr = Array.prototype.filter.call(str, function (item, index) {
      console.log(item);
      // 什么情况下是重复？什么情况下是不重复的
      // indexof 返回的是字符对应的索引
      return str.indexOf(item) === index;
    })

    // [].filter(item => {

    // })

    console.log(resultArr.join(''));

    // 排序
    // 冒泡

    resultArr.forEach(() => {
      resultArr.forEach((item, index) => {
        if (item < resultArr[index + 1]) {
          // 交换
          [resultArr[index], resultArr[index + 1]] = [resultArr[index + 1], resultArr[index]]
          // resultArr[index] = resultArr[index + 1];
          // resultArr[index + 1] = resultArr[index]
          // const a = [1,2,3];
          // const [b,c,d] = a;
          // const b = a[0];
          // const c = a[1];
        }
      })
    })

    console.log(resultArr);
  </script>
</body>

</html>